<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="app">
      <!-- v-on可以简写为 @: v-on:click=""==> @click=""-->
      <!-- 如果绑定事件函数的时候没有加小括号,则在事件函数中直接使用第一个形参接受event事件对象 -->

        <button @click="fn1">点我1</button>
      <!-- 一旦在给事件绑定事件函数的时候,添加了括号,事件函数不会直接调用,还是等事件触发的时候才调用 -->
      <!-- 但是此时，我们不能直接在形参中接收event事件对象了 -->
      <!-- 我们需要在绑定事件函数的小括号中，显性传递一个$event实参(在v-on绑定事件的插值语法中，默认是存在一个$event的值，代表当前的event事件对象)，将来在事件函数中接收，接收的这个值就是event事件对象 -->

        <button @click="fn2($event)">点我2</button>
      <!-- 传递多个参数时的情况 -->

        <button @click="fn3($event,2)">点我3</button>
    </div>

    <script>
      Vue.config.productionTip = false;

      const vm = new Vue({
        el:"#app",
        data(){
            return {};
        },
        methods:{
          fn1(event){
            console.log(event,"fn1");
          },
          fn2(event){
            console.log(event,"fn2");
          },
          fn3(event,a){
            console.log(event,"fn3");
          }
        }
      })
    </script>
</body>
</html>